﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using DevComponents.DotNetBar;
using Matrix_ClassLibrary;

namespace LTTT_server
{
    public partial class NewMatrix : DevComponents.DotNetBar.Office2007Form
    {
        bool ok=false;

        public NewMatrix()
        {
            InitializeComponent();
        }

        private void btnOK_Click(object sender, EventArgs e)
        {
            int row=0;
            int col=0;
            if (tbRow.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập số dòng!", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            else if (tbCol.Text == "")
            {
                MessageBox.Show("Bạn chưa nhập số cột!", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            else
            {
                row = Convert.ToInt32(tbRow.Text);
                col = Convert.ToInt32(tbCol.Text);
                if ((row < 1) || (col < 1) | (row > 20) || (col > 20))
                {
                    MessageBox.Show("Số dòng và cột chỉ nằm trong khoảng từ 1 đến 20");
                    return;
                }
                else if (col>Math.Pow(2,col-row)-1)
                {
                    MessageBox.Show("Ma trận sinh không hợp lệ!", "Lỗi", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return;
                }
            }
            
            FormSender.newmatrix = new Matrix(row, col);
            FormSender.Sent = false;
            this.DialogResult = DialogResult.OK;
            this.Close();
        }

        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void tbRow_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void tbCol_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!Char.IsDigit(e.KeyChar) && !Char.IsControl(e.KeyChar))
            {
                e.Handled = true;
            }
        }
    }
}